Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- Well defined name



  True Scala complexity

Update 2: Sorry for the downtime. Leave it to the distributed systems guy to make his blog unavailable. Nginx saves the day.It’s always frustrating reading rants about Scala because they never articulate the actual complexities in the core language.Understandable—this post is intended fill that gap, and it wasn’t exactly easy to put together. But there’s been so much resistance to the very thought that the complexity exists at all, even from on up high, that I thou...

   Scala,Complexity     2012-01-10 07:17:07

  Deep Dive into Spin Locks in Golang

In concurrent programming, a Mutex is a commonly used synchronization mechanism to protect critical resources and prevent data races. However, in certain specific scenarios, especially when the lock-holding time is short and the number of threads is limited, a more lightweight lock known as a Spin Lock can provide higher performance. What is a Spin Lock A Spin Lock is a form of busy-wait lock. When a thread attempts to acquire a lock held by another thread, it continuously checks the lock's stat...

   SPINLOCK,MUTEX,GOLANG     2024-01-10 05:53:28

  A mini post on GoLang context

In a GoLang web server, every request coming in will be handled by a goroutine. In the request handler, the logic may also need to create new goroutine to handle other tasks like RPC call. When the request is processed and response is returned, these goroutines created need to be exited so that no goroutine leak should happen. package main import ( "fmt" "log" "net/http" ) func main() { http.HandleFunc("/echo", func(w http.ResponseWriter, r *http.Request) { fmt.Println(&r) w.Write(...

   CONTEXT,GOLANG     2019-12-14 06:21:02

  Let's talk about JSON.stringify()

JSON has been used in lots of places to exchange data among different services/systems. Nowadays all mainstream programming languages have built-in library support of JSON data parse and stringify. In this post, let's talk about JSON.stringify() in JavaScript. Let's first take a small example of Object conversion handling. There is a requirement to convert below object const todayILearn = { _id: 1, content: '今天学习 JSON.stringify(),我很开心!', ...

   JAVASCIPT,JSON,JSON.STRINGIFY     2020-02-22 04:25:08

  Making Computer Science a Requirement?

This US News article points out a growing interest among colleges and universities to make basic computer science a required course for all students. Georgia Tech already does this. The article points out that universities not normally considered to be science/technology-heavy are leaning this way too: Every student at Montclair State University in New Jersey must complete a computer science in order to graduate. For most students, that course is Introduction for Computer Appl...

   Computer science,Requirement,CS     2012-04-05 11:33:04

  PHP to integrate with Sign in with Google

Google has a huge user base and hence it provides an authentication service for third party service to integrate with them so that people can sign in with Google in their services. Google also adopts OAuth 2 to provide this kind of Open ID connect service. This post will introduce how to integrate with sign in with Google functionality in your PHP website.  Create a client app on Google The first step you should follow is to create a Google app, you can follow the post here to create the p...

   PHP,GOOGLE API,OPEN API,SIGN IN WITH GOOGLE     2019-03-03 02:00:09

  Write Your Own R Packages

Introduction A set of user-defined functions (UDF) or utility functions are helpful to simplify our code and avoid repeating the same typing for daily analysis work. Previously, I saved all my R functions to a single R file. Whenever I want to use them, I can simply source the R file to import all functions. This is a simple but not perfect approach, especially when I want to check the documentation of certain functions. It was quite annoying that you can’t just type ?func&n...

   DATA SCIENCE,R PROGRAMMING,DATA ENGINEERING     2019-10-19 07:20:52

  Lisp: It's Not About Macros, It's About Read

Note: the examples here only work with outlet lisp. Refer to your version of lisp/scheme’s documentation for how read works (and possibly other forms) I know it’s an old post by now, but something about the article Why I love Common Lisp and hate Java, part II rubbed me the wrong way. The examples just aren’t that good. The usage of macros is plain baffling, when a function would have been fine. The author admits this, but still does it. There’s a follow-up post wh...

   Lisp,Macro,Read,Java     2012-02-19 06:12:19

  How does computer boot up?

The whole boot process of computer can be summarized in 4 phases. 1. BIOS In the 70's  read-only memory(ROM) was invented. The boot program is written into ROM, the first thing the computer does is to read and execute this program when it's powered on. The program in this chip is called "Basic Input/Output System" (BIOS). 1.1 Power-On Self-Test The BIOS will first check whether the computer hardware can fulfill the basic conditions for booting up, this process is called Power-On Self-Test...

   Computer, boot, partition     2013-02-23 23:19:47

  Java Polymorphism and Overriding Methods

Most Java developers will be familiar with polymorphism – we’ve all seen the example of the Dog and Cat classes inheriting from some abstract Animal class and having their say() methods produce different results. But it’s still worthwhile to look at a few simple examples to reinforce the concepts.First, we define a simple class with one instance method and one static method.public class A { public String getName() { return "I a...

   Java,Overriding,Polymorphism,Demo,Dynami     2011-10-04 14:09:06